Hosted or locally installed business applications create, monitor, and otherwise process requests, orders, quotations, and comparable business operations. Many business applications also integrate operational aspects such as manufacturing, inventory, planning, and purchasing operations, sometimes enabling interaction between suppliers and consumers of goods and services.
Business applications can be complex programs integrating a variety of modules for different tasks. In some cases, different portions of a business application may be developed by different parties including users. In other cases, such applications may be executed on one or more servers and accessed through dedicated or generic client applications (e.g., browsers). In a typical business application, the infrastructure is defined by metadata that determines how computations are to be performed, data is to be processed and presented. Business applications usually employ business rules that are defined at design time and implemented at runtime.
When a business process changes, often different business rules need to be applied and demanding a change in the schema of the data storage, as well as a resulting change in the user interface. This is done at design phase in conventional applications forcing the application to be reset or restarted. Thus, changes in business processes may become disruptive to the performance of a business application and degrade user experience.